From 0b541b828142dab6c23b0f4415dd2fd052d69ff1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Wed, 31 Oct 2018 18:14:18 +0100
Subject: [PATCH] Do not include compat-5.3.h in luv header file
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Do not include compat-5.3.h in luv header file

Exposing the compat-5.3.h header file directly in the luv.h header file
is not a good idea, because it causes redefinition errors when building,
for example latest luvi version 2.8.0, with a shared luv library and
LuaJIT 2.0.5.

Therefore, include the compat header file in the luv.c source file.

Note, that luvi version 2.8.0 (and 2.7.6) still fails to build against the
shared luv library using LuaJIT 2.0.5, as it does use `luaL_newlib` which is
not available in Lua 5.1. However, this is unrelated to the luv library as
luvi itself should define the macro for Lua 5.1.

Upstream status: https://github.com/luvit/luv/pull/310

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
 src/luv.c | 3 +++
 src/luv.h | 4 ----
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/luv.c b/src/luv.c
index c4c7cb7..4af7582 100644
--- a/src/luv.c
+++ b/src/luv.c
@@ -15,6 +15,9 @@
  *
  */
 
+#if (LUA_VERSION_NUM != 503)
+#include "c-api/compat-5.3.h"
+#endif
 #include "luv.h"
 #include "util.c"
 #include "lhandle.c"
diff --git a/src/luv.h b/src/luv.h
index 27c8c94..4fedd3f 100644
--- a/src/luv.h
+++ b/src/luv.h
@@ -50,10 +50,6 @@
 #define MAX_TITLE_LENGTH (8192)
 #endif
 
-#if (LUA_VERSION_NUM != 503)
-#include "c-api/compat-5.3.h"
-#endif
-
 #if defined(__clang__)
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wunused-function"
-- 
2.19.1

